Method and system for accommodating different clock frequencies in an ethernet passive optical network

ABSTRACT

One embodiment of the present invention provides a system that accommodates different clock frequencies in an EPON. The system receives a signal from the OLT at the ONU and derives an OLT clock. The system also maintains a local clock. The system further receives from the OLT an assignment for an upstream transmission window, during which the ONU can transmit an upstream data burst to the OLT based on the local clock. The system adjusts the number of bits of the data burst without affecting the payload data carried in the data burst, thereby allowing the data burst to fit properly within the upstream transmission window and compensating for frequency differences between the local clock and the OLT clock. The system transmits the data burst based on the local clock in the upstream transmission window.

RELATED APPLICATION

This application hereby claims priority under 35 U.S.C. §119 to the following provisional patent application: U.S. Provisional Patent Application No. 60/695,795 filed on 29 Jun. 2005, entitled “Method for Accommodating Different Clock Frequencies in an Ethernet Passive Optical Netork,” by inventors Edward W. Boyd, Ryan E. Hirth, and Hung Nguyen.

BACKGROUND

1. Field of the Invention

The present invention relates to the design of Ethernet passive optical networks. More specifically, the present invention relates to a method and a system that accommodates different clock frequencies between an optical line terminal and an optical network unit in an Ethernet passive optical network.

2. Related Art

In order to keep pace with increasing Internet traffic, optical fibers and associated optical transmission equipment have been widely deployed to substantially increase the capacity of backbone networks. However, this increase in the capacity of backbone networks has not been matched by a corresponding increase in the capacity of access networks. Even with broadband solutions, such as digital subscriber line (DSL) and cable modem (CM), the limited bandwidth offered by current access networks creates a severe bottleneck in delivering high bandwidth to end users.

Among the different technologies that are presently being developed, Ethernet passive optical networks (EPONs) are one of the best candidates for next-generation access networks. EPONs combine ubiquitous Ethernet technology with inexpensive passive optics. Hence, they offer the simplicity and scalability of Ethernet with the cost-efficiency and high capacity of passive optics. In particular, due to the high bandwidth of optical fibers, EPONs are capable of accommodating broadband voice, data, and video traffic simultaneously. Such integrated service is difficult to provide with DSL or CM technology. Furthermore, EPONs are more suitable for Internet Protocol (IP) traffic, because Ethernet frames can directly encapsulate native IP packets with different sizes, whereas ATM passive optical networks (APONs) use fixed-size ATM cells and consequently require packet fragmentation and reassembly.

Typically, EPONs are used in the “first mile” of the network, which provides connectivity between the service provider's central offices and business or residential subscribers. Logically, the first mile is a point-to-multipoint network, with a central office servicing a number of subscribers. A tree topology can be used in an EPON, wherein one fiber couples the central office to a passive optical splitter, which divides and distributes downstream optical signals to subscribers and combines upstream optical signals from subscribers (see FIG. 1).

Transmissions within an EPON are typically performed between an optical line terminal (OLT) and optical networks units (ONUs) (see FIG. 2). The OLT generally resides in the central office and couples the optical access network to a metro backbone, which is typically an external network belonging to an Internet Service Provider (ISP) or a local exchange carrier. An ONU can be located either at the curb or at an end-user location, and can provide broadband voice, data, and video services. ONUs are typically coupled to a one-by-N (1×N) passive optical coupler, where N is the number of ONUs, and the passive optical coupler is typically coupled to the OLT through a single optical link. (Note that one may use a number of cascaded optical splitters/couplers.) This configuration can significantly save the number of fibers and amount of hardware required by EPONs.

Communications within an EPON can be divided into downstream traffic (from OLT to ONUs) and upstream traffic (from ONUs to OLT). In the downstream direction, because of the broadcast nature of the 1×N passive optical coupler, downstream data frames are broadcast by the OLT to all ONUs and are selectively extracted by their destination ONUs. In the upstream direction, the ONUs need to share channel capacity and resources, because there is only one link coupling the passive optical coupler with the OLT.

One challenge in designing an EPON is to mitigate the effect of different clock frequencies used for transmission at the ONUs. When an ONU's transmission clock frequency drifts away from the OLT clock, the actual time consumed by an upstream burst from that ONU may be longer or shorter than the size of the assigned transmission window. This may lead to erroneous reception of the upstream bits and potentially cause overlapping between two consecutive upstream bursts from different ONUs.

Hence, what is needed is a method and a system for accommodating different clock frequencies within an EPON so that an upstream data burst remains within its assigned transmission window.

SUMMARY

One embodiment of the present invention provides a system that accommodates different clock frequencies in an Ethernet passive optical network (EPON), wherein the EPON includes an optical line terminal (OLT) and one or more optical network units (ONU's). During operation, the system receives a signal from the OLT at the ONU and derives an OLT clock from the received signal. The system also maintains a local clock. The system further receives from the OLT an assignment for an upstream transmission window, during which the ONU can transmit an upstream data burst to the OLT based on the local clock. The system adjusts the number of bits of the data burst without affecting the payload data carried in the data burst, thereby allowing the data burst to fit properly within the upstream transmission window and compensating for frequency differences between the local clock and the OLT clock. The system then transmits the data burst based on the local clock in the upstream transmission window.

In a variation on this embodiment, adjusting the number of bits of the data burst involves inserting one or more unused bits into the data burst without affecting the payload data when the transmission time of the data burst based on the local clock is shorter than the transmission time based on the OLT clock by a pre-determined threshold.

In a further variation, the predetermined threshold corresponds to the transmission time of a character based on the local clock or the OLT clock. Furthermore, inserting one or more unused bits into the data burst involves inserting an idle character into an inter-packet gap between two packets contained in the data burst.

In a variation on this embodiment, adjusting the number of bits of the data burst involves removing one or more unused bits from the data burst without affecting the payload data when the transmission time of the data burst based on the local clock is longer than the transmission time based on the OLT clock by a pre-determined threshold.

In a further variation, the pre-determined threshold corresponds to the transmission time of a character based on the local clock or the OLT clock. Furthermore, removing one or more unused bits from the data burst involves removing an idle character from an inter-packet gap between two packets contained in the data burst.

A further embodiment of the present invention provides a system that accommodates different clock frequencies in an EPON, wherein the EPON includes an OLT and one or more ONU's. During operation, the system receives a signal from the OLT at the ONU and derives an OLT clock from the received signal. The system also maintains a local clock. The system further compares the local clock with the OLT clock. The system requestes from the OLT an upstream transmission window based on the comparison, wherein the upstream transmission window can accommodate an upstream data burst transmitted based on the local clock.

In a variation on this embodiment, the system determines the duration of the upstream transmission window based on the size of the data burst and the local clock. The system further determines the size of the upstream transmission window in terms of amount of data that can be transmitted based on the OLT clock during the determined duration. Furthermore, requesting the upstream transmission window involves communicating to the OLT the determined size of the upstream transmission window in terms of amount of data to be transmitted based on the OLT clock.

A further embodiment of the present invention provides a system for accommodating different clock frequencies in an EPON, the EPON including an OLT and one or more ONU's. The system includes an OLT-clock derivation module configured: (i) to receive a signal, (ii) to derive an OLT clock from the signal, and (iii) to maintain a local clock to simulate an OLT clock. The system additionally includes a receiving module configured to receive an assignment for an upstream transmission window for transmission of an upstream data burst based on the local clock. The system further includes a determination module configured to determine a size of the upstream transmission window in terms of an amount of data that is to be transmitted based on the OLT clock. The system yet further includes an adjustment module configured to adjust a number of bits of the upstream data burst without affecting a payload data carried in the upstream data burst by inserting or removing unused bits in corresponding inter-packet gaps between packets contained in the upstream data burst, thereby allowing the upstream data burst to fit properly within the upstream transmission window and compensating for frequency differences between the local clock and the OLT clock. The system yet further includes a transmission module configured to transmit the upstream data burst based on the local clock during the upstream transmission window. In this further embodiment, a number of bits inserted or removed is determined by the difference between the size of the upstream transmission window and a size of upstream data burst.

In a variation on this embodiment, the adjustment module includes an insertion module configured to insert one or more unused bits into the upstream data burst without affecting the payload data when a transmission time of the upstream data burst based on the local clock is shorter than a transmission time based on the OLT clock by a pre-determined threshold.

In an additional variation on this embodiment, the pre-deteimined threshold corresponds to a transmission time of a character based on the local clock or the OLT clock. In this additional variation, the insertion module is configured to insert an idle character into the corresponding inter-packet gaps between the packets contained in the upstream data burst.

In a further variation on this embodiment, the adjustment module includes a removal module configured to remove one or more unused bits from the upstream data burst without affecting the payload data when a transmission time of the upstream data burst based on the local clock is longer than a transmission time based on the OLT clock by a pre-determined threshold.

In a yet further variation on this embodiment, the pre-determined threshold corresponds to a transmission time of a character based on the local clock or the OLT clock. In this yet further variation, the removal module is configured to remove an idle character into the corresponding inter-packet gaps between the packets contained in the upstream data burst.

A further embodiment of the present invention provides a system for accommodating different clock frequencies in an EPON, the EPON including an OLT and one or more ONU's. The system includes an OLT-clock derivation module configured (i) to receive a signal, (ii) to derive an OLT clock from the signal, and (iii) to maintain a local clock to simulate an OLT clock. The system additionally includes a comparison module configured to compare the local clock and the OLT clock. The system further includes a request module configured to request an upstream transmission window based on the comparison. In this further embodiment, the upstream transmission window is configured to accommodate an upstream data burst transmitted based on the local clock.

In a variation on this embodiment, the system further includes a determination module configured to: (i) determine a duration of the upstream transmission window based on a size of the upstream data burst and the local clock, and (ii) to determine a size of the upstream transmission window in terms of an amount of data that is to be transmitted based on the OLT clock during the duration of the upstream transmission window. In this variation, the requesting module is configured to communicate the size of the upstream transmission window in terms of the amount of data that is to be transmitted based on the OLT clock.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 illustrates an Ethernet passive optical network wherein a central office and a number of subscribers are coupled through optical fibers and an Ethernet passive optical splitter (prior art).

FIG. 2 illustrates an EPON in normal operation mode (prior art).

FIG. 3A illustrates an ONU generating a loop-back clock frequency based on an OLT's downstream clock frequency and a possible overlapping between two upstream bursts caused by excessive clock-frequency drifting (prior art).

FIG. 3B illustrates two ONUs equipped with locally generated clock frequencies in accordance with an embodiment of the present invention.

FIG. 4 illustrates the process of inserting an idle character into or removing an idle character from an inter-packet gap (IPG) within a data burst transmitted from an ONU in accordance with an embodiment of the present invention.

DETAILED DESCRIPTION

The following description is presented to enable any person skilled in the art to make and use the invention, and is provided in the context of a particular application and its requirements. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the present invention (e.g., general passive optical network (PON) architectures). Thus, the present invention is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein.

The data structures and procedures described in this detailed description are typically stored on a computer readable storage medium, which may be any device or medium that can store code and/or data for use by a computer system. This includes, but is not limited to, application specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), semiconductor memories, magnetic and optical storage devices such as disk drives, magnetic tape, CDs (compact discs), and DVDs (digital versatile discs or digital video discs).

Passive Optical Network Topology

FIG. 1 illustrates a passive optical network, wherein a central office and a number of subscribers are coupled together through optical fibers and a passive optical splitter (prior art). As shown in FIG. 1, a number of subscribers are coupled to a central office 101 through optical fibers and a passive optical splitter 102. Passive optical splitter 102 can be placed in the vicinity of end-user locations, so that the initial fiber deployment cost is minimized. Central office 101 can be coupled to an external network, such as a metropolitan area network operated by an Internet service provider (ISP). Note that although FIG. 1 illustrates a tree topology, a PON can also be based on other topologies, such as a ring or a bus.

Normal Operation Mode in EPON

FIG. 2 illustrates an EPON in normal operation mode (prior art). To allow ONUs to join an EPON at arbitrary times, an EPON typically has two modes of operation: a normal operation mode and a discovery (initialization) mode. Normal operation mode accommodates regular upstream data transmissions, where an OLT assigns transmission opportunities to all initialized ONUs.

As shown in FIG. 2, in the downstream direction, OLT 201 broadcasts downstream data to ONU 1 (211), ONU 2 (212), and ONU 3 (213). While all ONUs may receive the same copy of downstream data, each ONU selectively forwards only the data destined to itself to its corresponding users, which are user 1 (221), user 2 (222), and user 3 (223), respectively.

In the upstream direction, OLT 201 first schedules and assigns transmission timeslots to each ONU according to the ONU's service-level agreement. When not in its transmission timeslot, an ONU typically buffers the data received from its user. When its scheduled transmission timeslot arrives, an ONU transmits the buffered user data within the assigned transmission window.

Since every ONU takes turns in transmitting upstream data according to the OLT's scheduling, the upstream link's capacity can be efficiently utilized. However, for the scheduling to work properly, the OLT needs to discover and initialize a newly joined ONU. During discovery, the OLT may collect information critical to transmission scheduling, such as the ONU's round-trip time (RTT), its media access control (MAC) address, its service-level agreement, etc. (Note that in some cases service-level agreement may already be known to the OLT.)

Generating Frequency for Upstream Transmission

It is of critical importance that an ONU uses substantially the same clock frequency for upstream transmission as the clock frequency used by the OLT, so that an upstream transmission window can properly accommodate a data burst. FIG. 3A illustrates an ONU generating a loop-back clock frequency based on an OLT's downstream clock frequency (prior art). As is shown in FIG. 3A, according to the IEEE 802.3ah standards, an ONU 304 can derive its transmission clock frequency, f′, based on a loop-back clock frequency f used by an OLT 302 for downstream transmission. The loop-back clock is typically generated by a phase-locking loop (PLL), which is designed to reduce jitter and track the frequency of the imperfect recovered clock from the receiver. The loop-back clock frequency f′, however, is still subject to jitter and drifting introduced by the derivation circuit. Such jitter and drifting may impair of the quality of upstream transmission.

In particular, excessive frequency jitter or drifting can cause errors in upstream transmission. As is shown in FIG. 3A, when an upstream burst 312 is transmitted with a slower clock frequency, the time required to finish the transmission may be greater than the duration of the allocated transmission window. Consequently, the tail of burst 312 may overlap with a subsequent burst 314, causing transmission error for both bursts. Hence, it is necessary to ensure that a transmitted burst remains within the allocated transmission window.

To prevent the aforementioned problem, one embodiment of the present invention uses a separately generated clock frequency at each ONU. This clock frequency may be generated, for example, with a local oscillator and ideally is substantially the same as the clock frequency used by the OLT. A local oscillator is preferred due to its lower jitter output. Reduced jitter decreases the bit error rate and improves the quality of the upstream transmission. FIG. 3B illustrates two ONUs equipped with locally generated clock frequencies in accordance with an embodiment of the present invention. As is shown in FIG. 3B, an OLT 322 transmits downstream data to ONUs 324 and 326 with a clock frequency f. ONU 324 transmits its upstream data at its own clock frequency f′. Similarly, ONU 326 transmits upstream data at clock frequency f″.

Ideally, both f′ and f″ are substantially the same as f. It is difficult, however, to ensure that both f′ and f″ are exactly the same as f. To mitigate the effect of excessive frequency drift, one embodiment of the present invention allows modification of the number of bits included in a burst, so that the transmitted burst remains within the allocated transmission window.

FIG. 4 illustrates the process of inserting an idle character into or removing an idle character from an inter-packet gap (IPG) within a data burst transmitted from an ONU in accordance with an embodiment of the present invention. As is shown in FIG. 4, a burst to be transmitted from an ONU typically comprises a lock-in period 402 (which is used by the OLT to perform bit-level synchronization with the received data burst), a number of datagrams or packets (such as datagrams 404 and 408), and inter-packet gaps (IPG) (such as IPG 406). Note that each datagram may include a preamble.

In one embodiment of the present invention, when the ONU's local clock slows down to the point that the total time required to transmit the burst is greater than a preferred value by, for example, one idle character, the ONU may remove one idle character from an IPG. In this way, the ONU can ensure that the actual transmission time of the burst remains substantially accurate with regard to the allocated transmission window.

Similarly, when the ONU's local clock speeds up to the point that the total time required to transmit the burst is less than a preferred value by, for example, one idle character, the ONU may insert one additional idle character into an IPG. Note that the ONU can calculate the preferred value of the transmission time based on the clock frequency used by the OLT for downstream transmission.

Another approach to compensate for the clock-frequency drift at an ONU is to compare the local clock frequency with that of the OLT and to request a transmission window accordingly to compensate for the frequency discrepancy. For example, if an ONU's local clock happens to have slowed down, and the ONU has n bits of data burst to transmit, the ONU may request a transmission window of n′ bits (n′>n) based on the OLT's clock frequency. Consequently, the ONU can successfully transmit the n-bit burst within the allocated window, even with a slower clock.

The foregoing descriptions of embodiments of the present invention have been presented for purposes of illustration and description only. They are not intended to be exhaustive or to limit the present invention to the forms disclosed. Accordingly, many modifications and variations will be apparent to practitioners skilled in the art. Additionally, the above disclosure is not intended to limit the present invention. The scope of the present invention is defined by the appended claims. 

1. A method for accommodating different clock frequencies in an Ethernet passive optical network (EPON), the EPON including an optical line terminal (OLT) and one or more one or more optical network units (ONU's), the method comprising: receiving, by an ONU from among the ONU's, a signal from the OLT; deriving, by the ONU, an OLT clock from the signal; maintaining, by the ONU, a local clock to simulate the OLT clock; comparing, by the ONU, the local clock and the OLT clock; and requesting, by the ONU, an upstream transmission window based on the comparison, the upstream transmission window being configured to accommodate an upstream data burst transmitted based on the local clock.
 2. The method of claim 1, further comprising: determining a duration of the upstream transmission window based on a size of the upstream data burst and the local clock; determining a size of the upstream transmission window in terms of an amount of data that is to be transmitted based on the OLT clock during the duration of the upstream transmission window; and wherein requesting the upstream transmission window comprises: communicating the size of the upstream transmission window in terms of the amount of data that is to be transmitted based on the OLT clock.
 3. A system for accommodating different clock frequencies in an Ethernet passive optical network (EPON), the EPON including an optical line terminal (OLT) and one or more one or more optical network units (ONU's), the system comprising: an OLT-clock derivation module configured: (i) to receive a signal, (ii) to derive an OLT clock from the signal, and (iii) to maintain a local clock to simulate an OLT clock; a comparison module configured to compare the local clock and the OLT clock; and a request module configured to request an upstream transmission window based on the comparison, the upstream transmission window being configured to accommodate an upstream data burst transmitted based on the local clock.
 4. The system of claim 3, further comprising: a determination module configured to: (i) determine a duration of the upstream transmission window based on a size of the upstream data burst and the local clock; and (ii) to determine a size of the upstream transmission window in terms of an amount of data that is to be transmitted based on the OLT clock during the duration of the upstream transmission window; and wherein the requesting module is configured to communicate the size of the upstream transmission window in terms of the amount of data that is to be transmitted based on the OLT clock.
 5. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for accommodating different clock frequencies in an Ethernet passive optical network (EPON), the EPON including an optical line terminal (OLT) and one or more one or more optical network units (ONU's), the method comprising: receiving a signal; deriving an OLT clock from the signal; maintaining a local clock to simulate the OLT clock; comparing the local clock and the OLT clock; and requesting an upstream transmission window based on the comparison, the upstream transmission window being configured to accommodate an upstream data burst transmitted based on the local clock.
 6. The non-transitory computer-readable storage medium of claim 5, wherein the method further comprises: determining a duration of the upstream transmission window based on a size of the upstream data burst and the local clock; determining a size of the upstream transmission window in terms of an amount of data that is to be transmitted based on the OLT clock during the duration of the upstream transmission window; and wherein requesting the upstream transmission window comprises: communicating the size of the upstream transmission window in terms of the amount of data that is to be transmitted based on the OLT clock.
 7. A method for accommodating different clock frequencies in an Ethernet passive optical network (EPON), the EPON including an optical line terminal (OLT) and one or more optical network units (ONU's), comprising: receiving, by an ONU from among the ONU's, a signal from the OLT; deriving, by the ONU, an OLT clock from the signal; maintaining, by the ONU, a local clock to simulate the OLT clock; receiving, by the ONU, an assignment for an upstream transmission window for transmission of an upstream data burst to the OLT based on the local clock; determining, by the ONU, a size of the upstream transmission window in terms of an amount of data that is to be transmitted based on the OLT clock; adjusting, by the ONU, a number of bits of the upstream data burst without affecting a payload data carried in the upstream data burst by inserting or removing unused bits in corresponding inter-packet gaps between packets contained in the upstream data burst, thereby allowing the upstream data burst to fit properly within the upstream transmission window and compensating for frequency differences between the local clock and the OLT clock, wherein a number of bits inserted or removed is determined by the difference between the size of the upstream transmission window and a size of upstream data burst; and transmitting the upstream data burst based on the local clock in the upstream transmission window.
 8. The method of claim 7, wherein the adjusting the number of bits of the upstream data burst comprises: inserting one or more of the unused bits into the upstream data burst without affecting the payload data when a transmission time of the upstream data burst based on the local clock is shorter than a transmission time based on the OLT clock by a pre-determined threshold.
 9. The method of claim 8, wherein the pre-determined threshold corresponds to a transmission time of a character based on the local clock or the OLT clock; and wherein inserting the one or more of the unused bits into the upstream data burst comprises: inserting an idle character into the corresponding inter-packet gaps between the packets contained in the upstream data burst.
 10. The method of claim 7, wherein the adjusting the number of bits of the upstream data burst comprises: removing the one or more of the unused bits from the upstream data burst without affecting the payload data when a transmission time of the upstream data burst based on the local clock is longer than a transmission time based on the OLT clock by a pre-determined threshold.
 11. The method of claim 10, wherein the pre-determined threshold corresponds to a transmission time of a character based on the local clock or the OLT clock; and wherein removing the one or more of the unused bits from the upstream data burst comprises: removing an idle character into the corresponding inter-packet gaps between the packets contained in the upstream data burst.
 12. A system for accommodating different clock frequencies in an Ethernet passive optical network (EPON), the EPON including an optical line terminal (OLT) and one or more optical network units (ONU's), comprising: an OLT-clock derivation module configured: (i) to receive a signal, (ii) to derive an OLT clock from the signal, and (iii) to maintain a local clock to simulate an OLT clock; a receiving module configured to receive an assignment for an upstream transmission window for transmission of an upstream data burst based on the local clock; a determination module configured to determine a size of the upstream transmission window in terms of an amount of data that is to be transmitted based on the OLT clock; an adjustment module configured to adjust a number of bits of the upstream data burst without affecting a payload data carried in the upstream data burst by inserting or removing unused bits in corresponding inter-packet gaps between packets contained in the upstream data burst, thereby allowing the upstream data burst to fit properly within the upstream transmission window and compensating for frequency differences between the local clock and the OLT clock, wherein a number of bits inserted or removed is determined by the difference between the size of the upstream transmission window and a size of upstream data burst; and a transmission module configured to transmit the upstream data burst based on the local clock during the upstream transmission window.
 13. The system of claim 12, wherein the adjustment module comprises: an insertion module configured to insert one or more unused bits into the upstream data burst without affecting the payload data when a transmission time of the upstream data burst based on the local clock is shorter than a transmission time based on the OLT clock by a pre-determined threshold.
 14. The system of claim 13, wherein the pre-determined threshold corresponds to a transmission time of a character based on the local clock or the OLT clock; and wherein the insertion module is configured to insert an idle character into the corresponding inter-packet gaps between the packets contained in the upstream data burst.
 15. The system of claim 12, wherein the adjustment module comprises: a removal module configured to remove one or more unused bits from the upstream data burst without affecting the payload data when a transmission time of the upstream data burst based on the local clock is longer than a transmission time based on the OLT clock by a pre-determined threshold.
 16. The system of claim 15, wherein the pre-determined threshold corresponds to a transmission time of a character based on the local clock or the OLT clock; and wherein the removal module is configured to remove an idle character into the corresponding inter-packet gaps between the packets contained in the upstream data burst.
 17. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for accommodating different clock frequencies in an Ethernet passive optical network (EPON), the EPON including an optical line terminal (OLT) and one or more optical network units (ONU's), the method comprising: receiving a signal; deriving an OLT clock from the signal; maintaining a local clock to simulate the OLT clock; receiving an assignment for an upstream transmission window for transmission of an upstream data burst to the OLT based on the local clock; determining a size of the upstream transmission window in terms of amount of data that is to be transmitted based on the OLT clock; adjusting a number of bits of the upstream data burst without affecting a payload data carried in the upstream data burst by inserting or removing unused bits in corresponding inter-packet gaps between packets contained in the upstream data burst, thereby allowing the upstream data burst to fit properly within the upstream transmission window and compensating for frequency differences between the local clock and the OLT clock, wherein a number of bits inserted or removed is determined by the difference between the size of the upstream transmission window and a size of upstream data burst; and transmitting the upstream data burst based on the local clock in the upstream transmission window.
 18. The non-transitory computer-readable storage medium of claim 17, wherein adjusting the number of bits of the upstream data burst comprises: inserting one or more of the unused bits into the upstream data burst without affecting the payload data when a transmission time of the upstream data burst based on the local clock is shorter than a transmission time based on the OLT clock by a pre-determined threshold.
 19. The non-transitory computer-readable storage medium of claim 18, wherein the pre-determined threshold corresponds to a transmission time of a character based on the local clock or the OLT clock; and wherein inserting the one or more of the unused bits into the upstream data burst comprises: inserting an idle character into the corresponding inter-packet gaps between the packets contained in the upstream data burst.
 20. The non-transitory computer-readable storage medium of claim 17, wherein adjusting the number of bits of the upstream data burst comprises: removing the one or more of the unused bits from the upstream data burst without affecting the payload data when a transmission time of the upstream data burst based on the local clock is longer than a transmission time based on the OLT clock by a pre-determined threshold.
 21. The non-transitory computer-readable storage medium of claim 20, wherein the pre-determined threshold corresponds to a transmission time of a character based on the local clock or the OLT clock; and wherein removing the one or more of the unused bits from the upstream data burst comprises: removing an idle character into the corresponding inter-packet gaps between the packets contained in the upstream data burst. 